// 引入处理时间的moment
let moment=require('moment');
// 将时间设置成中文
moment.locale('zh-cn');
let mditor=require('mditor');

let articleModules=require('../model/articleModules');

module.exports={
    // 处理发表文章
    handlePostArticle:(req,res)=>{
        let newArticle=req.body;
        newArticle.ctime=new Date();
        articleModules.addArticle(newArticle,(err,data)=>{
            if(err) return res.json({status:0,msg:'文章发表失败！'})
            res.json({status:1,articleId:data.insertId})
            
        })
    },
    // 处理文章详情页
    showArticalDetail:(req,res)=>{
        // 获取路径中查询参数的id
        let articleId=req.query.id;
        articleModules.articleDetail(articleId,(err,data)=>{
            if(err) return res.json({status:0,msg:"数据库操作失败"})
            // 在返回数据之前，先处理ctime和content
            data[0].ctime=moment(data[0].ctime).format('MM-DD-YYYY')
            // 将文章的呢荣从md格式转换成html
            let parser = new mditor.Parser();
            data[0].content=parser.parse(data[0].content)
            // 渲染
            res.render('article/detail',{
                article:data[0],
                islogin:req.session.islogin,
                user:req.session.user
            })
        })
    },
    // 显示文章编辑页
    showArticleEdit:(req,res)=>{
        let id=req.query.id;
        articleModules.articleEdit(id,(err,data)=>{
            if(err) return res.json({status:0,msg:'操作数据库失败'})
            if(!req.session.islogin) return res.redirect('/')
            res.render('article/edit',{
                user:req.session.user,
                article:data[0]
            })
        })
    },

    // 编辑文章后的编辑保存，处理post请求
    handleEditPost:(req,res)=>{
        let article=req.body;
        article.ctime=new Date();
        articleModules.articleUpdate(article,(err,data)=>{
            // console.log(err)
            // console.log(data)
            if(err) return res.json({status:0,msg:'数据库操作失败'})
            res.json({status:1,articleId:article.id})
        })
    }
}